//创建线程的方法3：通过匿名内部类，继承Thread，重写run，调用start  (和1没有多大区别，3的目的是简化代码)
//3
public class Demo4 {
    public static void main(String[] args) throws InterruptedException {
        //通过匿名内部类的方式创建线程
        Thread t= new Thread(){//此处就是创建了没有名字的匿名内部类，这个类是Thread的子类，子类重写了run方法，同时创建了子类的实例，通过t引用指向
            @Override
            public void run(){
                while(true){
                    System.out.println("hello 匿名Thread!");
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                }
            }
        };
        //仍然要通过start启动线程
        t.start();

        while(true){
            System.out.println("hello main!");
            Thread.sleep(1000);
        }
    }
}
